from typing import Any

from unstract.sdk1.adapters.base1 import AzureOpenAILLMParameters, BaseAdapter
from unstract.sdk1.adapters.enums import AdapterTypes


class AzureOpenAILLMAdapter(AzureOpenAILLMParameters, BaseAdapter):
    @staticmethod
    def get_id() -> str:
        return "azureopenai|592d84b9-fe03-4102-a17e-6b391f32850b"

    @staticmethod
    def get_metadata() -> dict[str, Any]:
        return {
            "name": "AzureOpenAI",
            "version": "1.0.0",
            "adapter": AzureOpenAILLMAdapter,
            "description": "AzureOpenAI LLM adapter",
            "is_active": True,
        }

    @staticmethod
    def get_name() -> str:
        return "AzureOpenAI"

    @staticmethod
    def get_description() -> str:
        return "AzureOpenAI LLM adapter"

    @staticmethod
    def get_provider() -> str:
        return "azure"

    @staticmethod
    def get_icon() -> str:
        return "/icons/adapter-icons/AzureopenAI.png"

    @staticmethod
    def get_adapter_type() -> AdapterTypes:
        return AdapterTypes.LLM
